package a05dcollectemo5;

import java.util.*;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class Test1 {
    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "a-男-18", "b-男-19", "c-女-20");

//        list.stream().filter(new Predicate<String>() {
//            @Override
//            public boolean test(String s) {
//                String[] arr = s.split("-");
//                return arr[1].equals("男");
//            }
//        }).forEach(s -> System.out.println(s));
//

//        list.stream()
//                .filter( s-> s.split("-")[1].equals("男"))
//                .forEach(s -> System.out.println(s));

       List<String> newList = list.stream().filter(s -> s.split("-")[1].equals("男"))
              .collect(Collectors.toList());

         System.out.println(newList);

//        Map<String, Integer> map = list.stream()
//                .filter(s -> s.split("-")[1].equals("男"))
//                .collect(Collectors.toMap(new Function<String, String>() {
//                    @Override
//                    public String apply(String s) {
//                        return s.split("-")[0];
//                    }
//                }, new Function<String, Integer>() {
//                    @Override
//                    public Integer apply(String s) {
//                        return Integer.parseInt(s.split("-")[2]);
//                    }
//                }));

        Map<String, Integer> map = list.stream()
                .filter(s -> s.split("-")[1].equals("男"))
                .collect(Collectors.toMap(s-> s.split("-")[0],
                         s-> Integer.parseInt(s.split("-")[2])));

        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + " " + value);
        }
    }
}